1. Field of the Invention
The invention relates to the art of communication systems, and more particularly to a polling-based scheme for guaranteeing quality of service communication by serving multiple queues in a host system without using direct memory access (DMA).
2. Description of the Related Art
With the convergence of communication and computing technology, processing platforms have been integrated with communication systems to provide enhanced service features and resource allocation. Such a processing platform is typically coupled to a communication network and hosts several processes for transmitting data to or receiving data from nodes on the communication network. A processing platform may be configured to allocate resources to provide a quality of service (QoS) for a particular communication service supported by the processing platform.
A processing platform integrated as part of a communication system may include a peripheral device coupled to a communication medium and a host system to receive data from the peripheral device and transmit data to the communication medium through the peripheral device. A peripheral bus typically transfers data between the host system and the peripheral device. The processing platform that supports QoS and resource allocation typically uses multiple queues in which each queue is associated with a particular QoS requirement and/or a particular data flow. These queues should be effectively processed per their respective priorities, for example, to permit many data flows to be individually scheduled per their respective negotiated QoS levels.
As far as is known, most conventional peripheral devices carry out QoS guarantees over I/O buses such as the PCI bus. This type of bus may transfer data between a peripheral device and a host system using a “direct memory access (DMA)” through which data can be transferred independently of the processes hosted on the host system. In this scheme, the peripheral device is able to initiate bus transactions and is generally referred to as a bus master. In recent years, the Universal Serial Bus (USB) has become a popular standard for PC peripherals because of its versatile peripheral interconnectability. The USB provides not only ease-of-use for PC peripheral expansion but also a low-cost solution that supports transfer rates up to 480 Mb/s. However, in a USB system, all data transfers are initiated only by a USB host. USB peripherals are, in effect, bus slave devices. Little work is done to guarantee QoS for USB systems even though the USB is an industry standard. Accordingly, there is a need to provide a QoS guarantee for a bus slave device, unencumbered by the limitations associated with the related art.